package com.ztesoft.web.filecommon.db.arg;

import java.util.*;
import java.math.*;
import org.apache.commons.lang.*;

public class XpathVariantRelArg {
    private String pk_name = "SOURCE_DATA_ID";

    private String orderByClause;

    private String groupByClause;

    private String columns;

    private String countsql1;

    private String countsql2;

    private boolean distinct;

    private int rowStart = 0;

    private int rowEnd = 10;

    private List<XpathVariantRelCriteria> oredCriteria;

    public XpathVariantRelArg() {
        oredCriteria = new ArrayList<XpathVariantRelCriteria>();
    }

    public void setPk_name(String pk_name) {
        this.pk_name = StringEscapeUtils.escapeSql(pk_name);
    }

    public String getPk_name() {
        return pk_name;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = StringEscapeUtils.escapeSql(orderByClause);
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setGroupByClause(String groupByClause) {
        this.groupByClause = StringEscapeUtils.escapeSql(groupByClause);
    }

    public String geGroupByClause() {
        return groupByClause;
    }

    public void setColumns(String columns) {
        this.columns = StringEscapeUtils.escapeSql(columns);
    }

    public String geColumns() {
        return columns;
    }

    public void setCountsql1(String countsql1) {
        this.countsql1 = StringEscapeUtils.escapeSql(countsql1);
    }

    public String geCountsql1() {
        return countsql1;
    }

    public void setCountsql2(String countsql2) {
        this.countsql2 = StringEscapeUtils.escapeSql(countsql2);
    }

    public String geCountsql2() {
        return countsql2;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public void setRowStart(int rowStart) {
        this.rowStart = rowStart;
    }

    public void setRowEnd(int rowEnd) {
        this.rowEnd = rowEnd;
    }

    public int getRowStart() {
        return rowStart;
    }

    public int getRowEnd() {
        return rowEnd;
    }

    public List<XpathVariantRelCriteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(XpathVariantRelCriteria criteria) {
        oredCriteria.add(criteria);
    }

    public XpathVariantRelCriteria or() {
    	XpathVariantRelCriteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public XpathVariantRelCriteria createCriteria() {
    	XpathVariantRelCriteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected XpathVariantRelCriteria createCriteriaInternal() {
    	XpathVariantRelCriteria criteria = new XpathVariantRelCriteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        groupByClause = null;
        columns = null;
        countsql1 = null;
        countsql2 = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<XpathVariantRelCriterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<XpathVariantRelCriterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<XpathVariantRelCriterion> getAllCriteria() {
            return criteria;
        }

        public List<XpathVariantRelCriterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new XpathVariantRelCriterion(condition));
        }

        protected void addCriterion(String condition, Object value,
                String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property
                        + " cannot be null");
            }
            criteria.add(new XpathVariantRelCriterion(condition, value));
        }

        protected void addCriterion(String condition, Object value,
                String property, int likeType) {
            if (value == null) {
                throw new RuntimeException("Value for " + property
                        + " cannot be null");
            }
            criteria.add(new XpathVariantRelCriterion(condition, value, likeType));
        }

        protected void addCriterion(String condition, Object value1,
                Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property
                        + " cannot be null");
            }
            criteria.add(new XpathVariantRelCriterion(condition, value1, value2));
        }

        public XpathVariantRelCriteria andCriterionEqualTo(String criterion) {
            if (StringUtils.isBlank(criterion)) {
                criterion = "1=1";
            }
            addCriterion(criterion);
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andSourceDataIdIsNull() {
            addCriterion("SOURCE_DATA_ID is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdIsNotNull() {
            addCriterion("SOURCE_DATA_ID is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdEqualTo(Integer value) {
            addCriterion("SOURCE_DATA_ID =", value, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdNotEqualTo(Integer value) {
            addCriterion("SOURCE_DATA_ID <>", value, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdGreaterThan(Integer value) {
            addCriterion("SOURCE_DATA_ID >", value, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("SOURCE_DATA_ID >=", value, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdLessThan(Integer value) {
            addCriterion("SOURCE_DATA_ID <", value, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdLessThanOrEqualTo(Integer value) {
            addCriterion("SOURCE_DATA_ID <=", value, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdLike(Integer value) {
            addCriterion("SOURCE_DATA_ID like ", value, "SOURCE_DATA_ID", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdNotLike(Integer value) {
            addCriterion("SOURCE_DATA_ID  not like ", value, "SOURCE_DATA_ID", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdLeftLike(Integer value) {
            addCriterion("SOURCE_DATA_ID like ", value, "SOURCE_DATA_ID", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdNotLeftLike(Integer value) {
            addCriterion("SOURCE_DATA_ID  not like ", value, "SOURCE_DATA_ID", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdRightLike(Integer value) {
            addCriterion("SOURCE_DATA_ID like ", value, "SOURCE_DATA_ID", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdNotRightLike(Integer value) {
            addCriterion("SOURCE_DATA_ID  not like ", value, "SOURCE_DATA_ID", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdIn(List<Integer> values) {
            addCriterion("SOURCE_DATA_ID  in ", values, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdNotIn(List<Integer> values) {
            addCriterion("SOURCE_DATA_ID not in ", values, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdBetween(Integer value1, Integer value2) {
            addCriterion("SOURCE_DATA_ID between ", value1, value2, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSourceDataIdNotBetween(Integer value1, Integer value2) {
            addCriterion("SOURCE_DATA_ID not between ", value1, value2, "SOURCE_DATA_ID");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andDataTypeIsNull() {
            addCriterion("DATA_TYPE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeIsNotNull() {
            addCriterion("DATA_TYPE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeEqualTo(Integer value) {
            addCriterion("DATA_TYPE =", value, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeNotEqualTo(Integer value) {
            addCriterion("DATA_TYPE <>", value, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeGreaterThan(Integer value) {
            addCriterion("DATA_TYPE >", value, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("DATA_TYPE >=", value, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeLessThan(Integer value) {
            addCriterion("DATA_TYPE <", value, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeLessThanOrEqualTo(Integer value) {
            addCriterion("DATA_TYPE <=", value, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeLike(Integer value) {
            addCriterion("DATA_TYPE like ", value, "DATA_TYPE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeNotLike(Integer value) {
            addCriterion("DATA_TYPE  not like ", value, "DATA_TYPE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeLeftLike(Integer value) {
            addCriterion("DATA_TYPE like ", value, "DATA_TYPE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeNotLeftLike(Integer value) {
            addCriterion("DATA_TYPE  not like ", value, "DATA_TYPE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeRightLike(Integer value) {
            addCriterion("DATA_TYPE like ", value, "DATA_TYPE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeNotRightLike(Integer value) {
            addCriterion("DATA_TYPE  not like ", value, "DATA_TYPE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeIn(List<Integer> values) {
            addCriterion("DATA_TYPE  in ", values, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeNotIn(List<Integer> values) {
            addCriterion("DATA_TYPE not in ", values, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeBetween(Integer value1, Integer value2) {
            addCriterion("DATA_TYPE between ", value1, value2, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDataTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("DATA_TYPE not between ", value1, value2, "DATA_TYPE");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andDirOrderIsNull() {
            addCriterion("DIR_ORDER is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderIsNotNull() {
            addCriterion("DIR_ORDER is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderEqualTo(Integer value) {
            addCriterion("DIR_ORDER =", value, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderNotEqualTo(Integer value) {
            addCriterion("DIR_ORDER <>", value, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderGreaterThan(Integer value) {
            addCriterion("DIR_ORDER >", value, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderGreaterThanOrEqualTo(Integer value) {
            addCriterion("DIR_ORDER >=", value, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderLessThan(Integer value) {
            addCriterion("DIR_ORDER <", value, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderLessThanOrEqualTo(Integer value) {
            addCriterion("DIR_ORDER <=", value, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderLike(Integer value) {
            addCriterion("DIR_ORDER like ", value, "DIR_ORDER", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderNotLike(Integer value) {
            addCriterion("DIR_ORDER  not like ", value, "DIR_ORDER", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderLeftLike(Integer value) {
            addCriterion("DIR_ORDER like ", value, "DIR_ORDER", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderNotLeftLike(Integer value) {
            addCriterion("DIR_ORDER  not like ", value, "DIR_ORDER", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderRightLike(Integer value) {
            addCriterion("DIR_ORDER like ", value, "DIR_ORDER", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderNotRightLike(Integer value) {
            addCriterion("DIR_ORDER  not like ", value, "DIR_ORDER", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderIn(List<Integer> values) {
            addCriterion("DIR_ORDER  in ", values, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderNotIn(List<Integer> values) {
            addCriterion("DIR_ORDER not in ", values, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderBetween(Integer value1, Integer value2) {
            addCriterion("DIR_ORDER between ", value1, value2, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andDirOrderNotBetween(Integer value1, Integer value2) {
            addCriterion("DIR_ORDER not between ", value1, value2, "DIR_ORDER");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andParamPriorityIsNull() {
            addCriterion("PARAM_PRIORITY is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityIsNotNull() {
            addCriterion("PARAM_PRIORITY is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityEqualTo(Integer value) {
            addCriterion("PARAM_PRIORITY =", value, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityNotEqualTo(Integer value) {
            addCriterion("PARAM_PRIORITY <>", value, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityGreaterThan(Integer value) {
            addCriterion("PARAM_PRIORITY >", value, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityGreaterThanOrEqualTo(Integer value) {
            addCriterion("PARAM_PRIORITY >=", value, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityLessThan(Integer value) {
            addCriterion("PARAM_PRIORITY <", value, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityLessThanOrEqualTo(Integer value) {
            addCriterion("PARAM_PRIORITY <=", value, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityLike(Integer value) {
            addCriterion("PARAM_PRIORITY like ", value, "PARAM_PRIORITY", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityNotLike(Integer value) {
            addCriterion("PARAM_PRIORITY  not like ", value, "PARAM_PRIORITY", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityLeftLike(Integer value) {
            addCriterion("PARAM_PRIORITY like ", value, "PARAM_PRIORITY", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityNotLeftLike(Integer value) {
            addCriterion("PARAM_PRIORITY  not like ", value, "PARAM_PRIORITY", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityRightLike(Integer value) {
            addCriterion("PARAM_PRIORITY like ", value, "PARAM_PRIORITY", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityNotRightLike(Integer value) {
            addCriterion("PARAM_PRIORITY  not like ", value, "PARAM_PRIORITY", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityIn(List<Integer> values) {
            addCriterion("PARAM_PRIORITY  in ", values, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityNotIn(List<Integer> values) {
            addCriterion("PARAM_PRIORITY not in ", values, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_PRIORITY between ", value1, value2, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andParamPriorityNotBetween(Integer value1, Integer value2) {
            addCriterion("PARAM_PRIORITY not between ", value1, value2, "PARAM_PRIORITY");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andSeqIsNull() {
            addCriterion("SEQ is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqIsNotNull() {
            addCriterion("SEQ is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqEqualTo(Integer value) {
            addCriterion("SEQ =", value, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqNotEqualTo(Integer value) {
            addCriterion("SEQ <>", value, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqGreaterThan(Integer value) {
            addCriterion("SEQ >", value, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqGreaterThanOrEqualTo(Integer value) {
            addCriterion("SEQ >=", value, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqLessThan(Integer value) {
            addCriterion("SEQ <", value, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqLessThanOrEqualTo(Integer value) {
            addCriterion("SEQ <=", value, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqLike(Integer value) {
            addCriterion("SEQ like ", value, "SEQ", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqNotLike(Integer value) {
            addCriterion("SEQ  not like ", value, "SEQ", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqLeftLike(Integer value) {
            addCriterion("SEQ like ", value, "SEQ", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqNotLeftLike(Integer value) {
            addCriterion("SEQ  not like ", value, "SEQ", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqRightLike(Integer value) {
            addCriterion("SEQ like ", value, "SEQ", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqNotRightLike(Integer value) {
            addCriterion("SEQ  not like ", value, "SEQ", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqIn(List<Integer> values) {
            addCriterion("SEQ  in ", values, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqNotIn(List<Integer> values) {
            addCriterion("SEQ not in ", values, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqBetween(Integer value1, Integer value2) {
            addCriterion("SEQ between ", value1, value2, "SEQ");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andSeqNotBetween(Integer value1, Integer value2) {
            addCriterion("SEQ not between ", value1, value2, "SEQ");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andVariantDefineTypeIsNull() {
            addCriterion("VARIANT_DEFINE_TYPE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeIsNotNull() {
            addCriterion("VARIANT_DEFINE_TYPE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeEqualTo(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE =", value, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeNotEqualTo(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE <>", value, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeGreaterThan(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE >", value, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE >=", value, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeLessThan(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE <", value, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeLessThanOrEqualTo(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE <=", value, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeLike(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE like ", value, "VARIANT_DEFINE_TYPE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeNotLike(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE  not like ", value, "VARIANT_DEFINE_TYPE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeLeftLike(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE like ", value, "VARIANT_DEFINE_TYPE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeNotLeftLike(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE  not like ", value, "VARIANT_DEFINE_TYPE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeRightLike(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE like ", value, "VARIANT_DEFINE_TYPE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeNotRightLike(Integer value) {
            addCriterion("VARIANT_DEFINE_TYPE  not like ", value, "VARIANT_DEFINE_TYPE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeIn(List<Integer> values) {
            addCriterion("VARIANT_DEFINE_TYPE  in ", values, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeNotIn(List<Integer> values) {
            addCriterion("VARIANT_DEFINE_TYPE not in ", values, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeBetween(Integer value1, Integer value2) {
            addCriterion("VARIANT_DEFINE_TYPE between ", value1, value2, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("VARIANT_DEFINE_TYPE not between ", value1, value2, "VARIANT_DEFINE_TYPE");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andVariantDefineValueIsNull() {
            addCriterion("VARIANT_DEFINE_VALUE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueIsNotNull() {
            addCriterion("VARIANT_DEFINE_VALUE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueEqualTo(String value) {
            addCriterion("VARIANT_DEFINE_VALUE =", value, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueNotEqualTo(String value) {
            addCriterion("VARIANT_DEFINE_VALUE <>", value, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueGreaterThan(String value) {
            addCriterion("VARIANT_DEFINE_VALUE >", value, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueGreaterThanOrEqualTo(String value) {
            addCriterion("VARIANT_DEFINE_VALUE >=", value, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueLessThan(String value) {
            addCriterion("VARIANT_DEFINE_VALUE <", value, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueLessThanOrEqualTo(String value) {
            addCriterion("VARIANT_DEFINE_VALUE <=", value, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueLike(String value) {
            addCriterion("VARIANT_DEFINE_VALUE like ", value, "VARIANT_DEFINE_VALUE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueNotLike(String value) {
            addCriterion("VARIANT_DEFINE_VALUE  not like ", value, "VARIANT_DEFINE_VALUE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueLeftLike(String value) {
            addCriterion("VARIANT_DEFINE_VALUE like ", value, "VARIANT_DEFINE_VALUE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueNotLeftLike(String value) {
            addCriterion("VARIANT_DEFINE_VALUE  not like ", value, "VARIANT_DEFINE_VALUE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueRightLike(String value) {
            addCriterion("VARIANT_DEFINE_VALUE like ", value, "VARIANT_DEFINE_VALUE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueNotRightLike(String value) {
            addCriterion("VARIANT_DEFINE_VALUE  not like ", value, "VARIANT_DEFINE_VALUE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueIn(List<String> values) {
            addCriterion("VARIANT_DEFINE_VALUE  in ", values, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueNotIn(List<String> values) {
            addCriterion("VARIANT_DEFINE_VALUE not in ", values, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueBetween(String value1, String value2) {
            addCriterion("VARIANT_DEFINE_VALUE between ", value1, value2, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andVariantDefineValueNotBetween(String value1, String value2) {
            addCriterion("VARIANT_DEFINE_VALUE not between ", value1, value2, "VARIANT_DEFINE_VALUE");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andFuncIdIsNull() {
            addCriterion("FUNC_ID is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdIsNotNull() {
            addCriterion("FUNC_ID is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdEqualTo(Integer value) {
            addCriterion("FUNC_ID =", value, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdNotEqualTo(Integer value) {
            addCriterion("FUNC_ID <>", value, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdGreaterThan(Integer value) {
            addCriterion("FUNC_ID >", value, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("FUNC_ID >=", value, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdLessThan(Integer value) {
            addCriterion("FUNC_ID <", value, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdLessThanOrEqualTo(Integer value) {
            addCriterion("FUNC_ID <=", value, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdLike(Integer value) {
            addCriterion("FUNC_ID like ", value, "FUNC_ID", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdNotLike(Integer value) {
            addCriterion("FUNC_ID  not like ", value, "FUNC_ID", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdLeftLike(Integer value) {
            addCriterion("FUNC_ID like ", value, "FUNC_ID", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdNotLeftLike(Integer value) {
            addCriterion("FUNC_ID  not like ", value, "FUNC_ID", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdRightLike(Integer value) {
            addCriterion("FUNC_ID like ", value, "FUNC_ID", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdNotRightLike(Integer value) {
            addCriterion("FUNC_ID  not like ", value, "FUNC_ID", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdIn(List<Integer> values) {
            addCriterion("FUNC_ID  in ", values, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdNotIn(List<Integer> values) {
            addCriterion("FUNC_ID not in ", values, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdBetween(Integer value1, Integer value2) {
            addCriterion("FUNC_ID between ", value1, value2, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncIdNotBetween(Integer value1, Integer value2) {
            addCriterion("FUNC_ID not between ", value1, value2, "FUNC_ID");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andFuncTypeIsNull() {
            addCriterion("FUNC_TYPE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeIsNotNull() {
            addCriterion("FUNC_TYPE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeEqualTo(Integer value) {
            addCriterion("FUNC_TYPE =", value, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeNotEqualTo(Integer value) {
            addCriterion("FUNC_TYPE <>", value, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeGreaterThan(Integer value) {
            addCriterion("FUNC_TYPE >", value, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("FUNC_TYPE >=", value, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeLessThan(Integer value) {
            addCriterion("FUNC_TYPE <", value, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeLessThanOrEqualTo(Integer value) {
            addCriterion("FUNC_TYPE <=", value, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeLike(Integer value) {
            addCriterion("FUNC_TYPE like ", value, "FUNC_TYPE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeNotLike(Integer value) {
            addCriterion("FUNC_TYPE  not like ", value, "FUNC_TYPE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeLeftLike(Integer value) {
            addCriterion("FUNC_TYPE like ", value, "FUNC_TYPE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeNotLeftLike(Integer value) {
            addCriterion("FUNC_TYPE  not like ", value, "FUNC_TYPE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeRightLike(Integer value) {
            addCriterion("FUNC_TYPE like ", value, "FUNC_TYPE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeNotRightLike(Integer value) {
            addCriterion("FUNC_TYPE  not like ", value, "FUNC_TYPE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeIn(List<Integer> values) {
            addCriterion("FUNC_TYPE  in ", values, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeNotIn(List<Integer> values) {
            addCriterion("FUNC_TYPE not in ", values, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeBetween(Integer value1, Integer value2) {
            addCriterion("FUNC_TYPE between ", value1, value2, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andFuncTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("FUNC_TYPE not between ", value1, value2, "FUNC_TYPE");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andStateIsNull() {
            addCriterion("STATE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateIsNotNull() {
            addCriterion("STATE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateEqualTo(String value) {
            addCriterion("STATE =", value, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateNotEqualTo(String value) {
            addCriterion("STATE <>", value, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateGreaterThan(String value) {
            addCriterion("STATE >", value, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateGreaterThanOrEqualTo(String value) {
            addCriterion("STATE >=", value, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateLessThan(String value) {
            addCriterion("STATE <", value, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateLessThanOrEqualTo(String value) {
            addCriterion("STATE <=", value, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateLike(String value) {
            addCriterion("STATE like ", value, "STATE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateNotLike(String value) {
            addCriterion("STATE  not like ", value, "STATE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateLeftLike(String value) {
            addCriterion("STATE like ", value, "STATE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateNotLeftLike(String value) {
            addCriterion("STATE  not like ", value, "STATE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateRightLike(String value) {
            addCriterion("STATE like ", value, "STATE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateNotRightLike(String value) {
            addCriterion("STATE  not like ", value, "STATE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateIn(List<String> values) {
            addCriterion("STATE  in ", values, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateNotIn(List<String> values) {
            addCriterion("STATE not in ", values, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateBetween(String value1, String value2) {
            addCriterion("STATE between ", value1, value2, "STATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateNotBetween(String value1, String value2) {
            addCriterion("STATE not between ", value1, value2, "STATE");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andStateDateIsNull() {
            addCriterion("STATE_DATE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateIsNotNull() {
            addCriterion("STATE_DATE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateEqualTo(Date value) {
            addCriterion("STATE_DATE =", value, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateNotEqualTo(Date value) {
            addCriterion("STATE_DATE <>", value, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateGreaterThan(Date value) {
            addCriterion("STATE_DATE >", value, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("STATE_DATE >=", value, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateLessThan(Date value) {
            addCriterion("STATE_DATE <", value, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateLessThanOrEqualTo(Date value) {
            addCriterion("STATE_DATE <=", value, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateLike(Date value) {
            addCriterion("STATE_DATE like ", value, "STATE_DATE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateNotLike(Date value) {
            addCriterion("STATE_DATE  not like ", value, "STATE_DATE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateLeftLike(Date value) {
            addCriterion("STATE_DATE like ", value, "STATE_DATE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateNotLeftLike(Date value) {
            addCriterion("STATE_DATE  not like ", value, "STATE_DATE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateRightLike(Date value) {
            addCriterion("STATE_DATE like ", value, "STATE_DATE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateNotRightLike(Date value) {
            addCriterion("STATE_DATE  not like ", value, "STATE_DATE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateIn(List<Date> values) {
            addCriterion("STATE_DATE  in ", values, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateNotIn(List<Date> values) {
            addCriterion("STATE_DATE not in ", values, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateBetween(Date value1, Date value2) {
            addCriterion("STATE_DATE between ", value1, value2, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andStateDateNotBetween(Date value1, Date value2) {
            addCriterion("STATE_DATE not between ", value1, value2, "STATE_DATE");
            return (XpathVariantRelCriteria) this;
        }
        public XpathVariantRelCriteria andCreateDateIsNull() {
            addCriterion("CREATE_DATE is null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateIsNotNull() {
            addCriterion("CREATE_DATE is not null");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateEqualTo(Date value) {
            addCriterion("CREATE_DATE =", value, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateNotEqualTo(Date value) {
            addCriterion("CREATE_DATE <>", value, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateGreaterThan(Date value) {
            addCriterion("CREATE_DATE >", value, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("CREATE_DATE >=", value, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateLessThan(Date value) {
            addCriterion("CREATE_DATE <", value, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("CREATE_DATE <=", value, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateLike(Date value) {
            addCriterion("CREATE_DATE like ", value, "CREATE_DATE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateNotLike(Date value) {
            addCriterion("CREATE_DATE  not like ", value, "CREATE_DATE", 1);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateLeftLike(Date value) {
            addCriterion("CREATE_DATE like ", value, "CREATE_DATE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateNotLeftLike(Date value) {
            addCriterion("CREATE_DATE  not like ", value, "CREATE_DATE", 0);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateRightLike(Date value) {
            addCriterion("CREATE_DATE like ", value, "CREATE_DATE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateNotRightLike(Date value) {
            addCriterion("CREATE_DATE  not like ", value, "CREATE_DATE", 2);
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateIn(List<Date> values) {
            addCriterion("CREATE_DATE  in ", values, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateNotIn(List<Date> values) {
            addCriterion("CREATE_DATE not in ", values, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("CREATE_DATE between ", value1, value2, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

        public XpathVariantRelCriteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("CREATE_DATE not between ", value1, value2, "CREATE_DATE");
            return (XpathVariantRelCriteria) this;
        }

    }

    public static class XpathVariantRelCriteria extends GeneratedCriteria {

        protected XpathVariantRelCriteria() {
            super();
        }
    }

    public static class XpathVariantRelCriterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected XpathVariantRelCriterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }
        protected XpathVariantRelCriterion(String condition, Object value, int likeType) {
            this.condition = condition;
            if (likeType == 0) {
                this.value = "%" + value;
            }
            else if (likeType == 1) {
                this.value = "%" + value + "%";
            }
            else {
                this.value = value + "%";
            }
            this.typeHandler = null;
            this.singleValue = true;

        }

        protected XpathVariantRelCriterion(String condition, Object value,
                String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            }
            else {
                this.singleValue = true;
            }
        }

        protected XpathVariantRelCriterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected XpathVariantRelCriterion(String condition, Object value,
                Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected XpathVariantRelCriterion(String condition, Object value,
                Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}